.auth-page{ display:flex; align-items:center; justify-content:center; padding:40rpx; min-height:100vh; background: linear-gradient(180deg,#f7fafc,#eef2f7) }
.auth-card{ width:740rpx; max-width:92%; background:#fff; border-radius:16rpx; padding:36rpx; box-shadow:0 6rpx 20rpx rgba(8,28,45,0.06); display:flex; flex-direction:column; align-items:center }
.auth-brand{ width:120rpx; height:120rpx; margin-bottom:12rpx }
.auth-title{ font-size:32rpx; color:#1f2937; margin-bottom:18rpx }

.form-row{ width:100%; margin-bottom:14rpx; display:flex; flex-direction:column }
.field-label{ font-size:24rpx; color:#374151; margin-bottom:8rpx }
.input-control{ width:100%; padding:14rpx; border-radius:10rpx; border:1rpx solid #e6e9ee; box-sizing:border-box; font-size:26rpx; color:#111827 }
.input-control:focus{ outline:none; border-color:#60a5fa }

.password-row{ display:flex; gap:12rpx; align-items:center }
.eye-toggle{ padding:8rpx 12rpx; background:transparent; border:1rpx solid #e6e9ee; border-radius:8rpx; color:#374151 }

.btn-primary{ width:100%; margin-top:8rpx; background:#2563eb; color:#fff; padding:16rpx; border-radius:10rpx; font-size:28rpx }
.btn-primary:active{ opacity:0.95 }

.auth-footer{ width:100%; display:flex; justify-content:space-between; margin-top:12rpx }
.link{ color:#2563eb }
.link.muted{ color:#9ca3af }

@media (max-width:640px){
  .auth-card{ padding:24rpx; width:100% }
  .auth-title{ font-size:28rpx }
  .input-control{ font-size:24rpx }
}